#练习作业
# 1、简述普通参数、指定参数、默认参数、动态参数的区别
# 2、写函数，计算传入字符串中【数字】、【字母】、【空格] 以及 【其他】的个数
# def checkfunc(args):
#     isalpha_num =0
#     isnumeric_num = 0
#     isspace_num = 0
#     isoter_num = 0
#     for i in args:
#         if i.isalpha():
#             isalpha_num+=1
#         elif i.isnumeric():
#             isnumeric_num+=1
#         elif i.isspace():
#             isspace_num+=1
#         else:
#             isoter_num+=1
#     return (isalpha_num,isnumeric_num,isspace_num,isoter_num)
# print(checkfunc("aadvdf1264gfa gffavg*ag7*61."))
# 3、写函数，判断用户传入的对象（字符串、列表、元组）长度是否大于5。
# def GetLen(args):
#     int_len = len(args)
#     return True if int_len>5 else False
# print(GetLen((111,655,666,2222,3333,4444,555)))
# 4、写函数，检查用户传入的对象（字符串、列表、元组）的每一个元素是否含有空内容。
# def CheckisNone(args):
#     if isinstance(args,str):
#         for l in args:
#             if l.isspace():
#                 return True
#     else:
#         for i in args:
#             if i==None:
#                 return True
#     return False
# ret = CheckisNone("111 111")
# print(ret)
# 5、写函数，检查传入列表的长度，如果大于2，那么仅保留前两个长度的内容，并将新内容返回给调用者。
# def Checklens(args):
#     if len(args)>2:
#         return args[0:2]
# ret = Checklens((111,222,333,444,555))
# print(ret)
# 6、写函数，检查获取传入列 表或元组对象的所有奇数位索引对应的元素，并将其作为新列表返回给调用者。
# def CheckOddnum(args):
#     list_data =[]
#     for i in range(len(args)):
#         if i % 2 !=0:
#             list_data.append(args[i])
#     return list_data
# ret =CheckOddnum("abcdefghijklmn")
# print(ret)
# 7、写函数，检查传入字典的每一个value的长度, 如果大于2，那么仅保留前两个长度的内容，并将新内容返回给调用者。
# dic = {"k1": "v1v1", "k2": [11, 22, 33, 44]}
# def CheckDicLen(args):
#     dict_data ={}
#     for k,v in args.items():
#         if len(v)>2:
#             dict_data[k]=v[0:2]
#     return dict_data
# ret = CheckDicLen(dic)
# print(ret)
# PS: 字典中的value只能是字符串或列表
# 8、写函数，利用递归获取斐波那契数列中的第10个数，并将该值返回给调用者。
def func(arg1,arg2,arglen):

    if arglen>=10:
        return arg2
    else:
        arglen+=1
    if arg1 == 0:
        print(arg1, arg2)
    arg3 = arg1 + arg2
    print(arg3)
    func(arg2, arg3,arglen)
r = func(0,1,0)
print(r)
